<?php

class Admin_Model_Constant extends Admin_Model_Db_Constant
{

	public function fetchConstantContent($constant_code = '', $constant_id = '', $constant_language = '')
	{
		$where = " 1 ";
		if (( string ) $constant_code != '')
		{
			$where .= " AND constant_code = '" . addslashes ( $constant_code ) . "' ";
		}
		if (( string ) $constant_id != '')
		{
			$where .= " AND constant_id = '" . addslashes ( $constant_id ) . "' ";
		}
		if (( string ) $constant_language != '')
		{
			$where .= " AND constant_language = '" . addslashes ( $constant_language ) . "' ";
		}	
		if ($this->fetchRowAllBase($where,null,$constant))
		{
			$constant_display_type = $constant->constant_display_type;
			$constant_display_regexp = $constant->constant_display_regexp;
			$constant_content=$constant->constant_content;
			switch ($constant_display_type)
			{
				case 2 ://Luôn hiển thị, có định dạng HTML					
					break;
				case 3 ://Luôn hiển thị, không có định dạng HTML	
					$constant_content = strip_tags ( $constant_content );
					$constant_content = str_replace ( array ("\r\n", "\n", "\r", "\t" ), '', $constant_content );
					break;
				case 1://"Không hiển thị nếu thỏa điều kiện hiển thị (REGEXP)"
					if ( trim($constant_display_regexp) == "" || preg_match ( $constant_display_regexp, $uri ) )
						$constant_content="";
					break;
				case 0 : //"Chỉ hiển thị nếu thỏa điều kiện hiển thị (REGEXP)"
					$uri = $_SERVER ['REQUEST_URI'];
					if ( trim($constant_display_regexp) != "" && !preg_match ( $constant_display_regexp, $uri ) )
						$constant_content="";
					break;
			}
			return $constant_content;
		}
		else
		{
			//throw new Exception ( "The constant [{$constant_id}:{$constant_code}] can't be found!" );
		}
	}
}